package day0401;

import java.util.Scanner;

public class FindMinNumber32 {
    /**
     * 贪心-- 找最小数,leetcode 402道移掉k位数字
     * 题目描述：给一个正整数 NUM1，计算出新正整数 NUM2，NUM2 为 NUM1 中移除 N
     * 位数字后的结果，需要使得 NUM2 的值最小。
     * <p>
     * 输入描述：1.输入的第一行为一个字符串，字符串由 0-9 字符组成，记录正整数
     * NUM1，NUM1 长度小于 32。 2.输入的第二行为需要移除的数字的个数，小于 NUM1
     * 长度。 如：
     * 2615371
     * 4
     * 输出描述：输出一个数字字符串，记录最小值 NUM2。
     * 如：131
     * <p>
     * <p>
     * 从左往右取局部最大
     */
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String num = sc.nextLine();
        int k = Integer.parseInt(sc.nextLine());
        System.out.println(findMinNumber(num,
                k));

    }

    private static String findMinNumber(String num, int k) {
        if (num.length() <= k) {
            return "0";
        }
        StringBuilder res = new StringBuilder(num);
        int i = 0;
        while (k > 0 && i < res.length()-1) {
            if (res.charAt(i) > res.charAt(i + 1)) {
                res.delete(i, i + 1);
                k--;
                if (i > 0) {
                    i--;
                }
            } else {
                i++;
            }
        }
        while (k != 0) {
            res.delete(res.length() - 1, res.length());
            k--;
        }

        // 去除前面的0
        while (res.length() > 1 && res.charAt(0) == '0') {
            res.delete(0, 1);
        }
        return res.toString();

    }

}

